HAL SMBUS IRQ Handler and Callbacks Functions Migration

This section provides information about the HAL SMBUS control functions migration.

HAL SMBUS callbacks functions

Note

The functions HAL_SMBUS_ErrorCallback() and HAL_SMBUS_AbortCpltCallback() remain unchanged.

HAL1

HAL2

HAL_SMBUS_MasterTxCpltCallback(SMBUS_HandleTypeDef *hsmbus)

HAL_SMBUS_MASTER_TxCpltCallback(hal_smbus_handle_t *hsmbus)

HAL_SMBUS_MasterRxCpltCallback(SMBUS_HandleTypeDef *hsmbus)

HAL_SMBUS_MASTER_RxCpltCallback(hal_smbus_handle_t *hsmbus)

HAL_SMBUS_SlaveTxCpltCallback(SMBUS_HandleTypeDef *hsmbus)

HAL_SMBUS_SLAVE_TxCpltCallback(hal_smbus_handle_t *hsmbus)

HAL_SMBUS_SlaveRxCpltCallback(SMBUS_HandleTypeDef *hsmbus)

HAL_SMBUS_SLAVE_RxCpltCallback(hal_smbus_handle_t *hsmbus)

HAL_SMBUS_AddrCallback(SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode);

HAL_SMBUS_SLAVE_AddrCallback(hal_smbus_handle_t *hsmbus, hal_smbus_slave_xfer_direction_t xfer_direction, uint32_t addr_match_code)

HAL_SMBUS_ListenCpltCallback(SMBUS_HandleTypeDef *hsmbus)

HAL_SMBUS_SLAVE_ListenCpltCallback(hal_smbus_handle_t *hsmbus)

HAL_SMBUS_ErrorCallback(SMBUS_HandleTypeDef *hsmbus)

HAL_SMBUS_ErrorCallback(hal_smbus_handle_t *hsmbus)

HAL_SMBUS_AbortCpltCallback(SMBUS_HandleTypeDef *hsmbus)

HAL_SMBUS_AbortCpltCallback(hal_smbus_handle_t *hsmbus)


HAL SMBUS callbacks register and unregister functions

title

HAL1

HAL2

Register Master Tx Complete Callback

HAL_SMBUS_RegisterCallback(&smbus_handle,
                         HAL_SMBUS_MASTER_TX_COMPLETE_CB_ID,
                         USER_SMBUS_MasterTxCpltCallback);
HAL_SMBUS_MASTER_RegisterTxCpltCallback(&smbus_handle,
                                      USER_SMBUS_MASTER_TxCpltCallback);

Register Master Rx Complete Callback

HAL_SMBUS_RegisterCallback(&smbus_handle,
                         HAL_SMBUS_MASTER_RX_COMPLETE_CB_ID,
                         USER_SMBUS_MasterRxCpltCallback);
HAL_SMBUS_MASTER_RegisterRxCpltCallback(&smbus_handle,
                                      USER_SMBUS_MASTER_RxCpltCallback);

Register Slave Tx Complete Callback

HAL_SMBUS_RegisterCallback(&smbus_handle,
                         HAL_SMBUS_SLAVE_TX_COMPLETE_CB_ID,
                         USER_SMBUS_SlaveTxCpltCallback);
HAL_SMBUS_SLAVE_RegisterTxCpltCallback(&smbus_handle,
                                     USER_SMBUS_SLAVE_TxCpltCallback);

Register Slave Rx Complete Callback

HAL_SMBUS_RegisterCallback(&smbus_handle,
                         HAL_SMBUS_SLAVE_RX_COMPLETE_CB_ID,
                         USER_SMBUS_SlaveRxCpltCallback);
HAL_SMBUS_SLAVE_RegisterRxCpltCallback(&smbus_handle,
                                     USER_SMBUS_SLAVE_RxCpltCallback);

Register Listen completed callback

HAL_SMBUS_RegisterCallback(&smbus_handle,
                         HAL_SMBUS_LISTEN_COMPLETE_CB_ID,
                         USER_SMBUS_ListenCpltCallback);
HAL_SMBUS_SLAVE_RegisterListenCpltCallback(&smbus_handle,
                                         USER_SMBUS_SLAVE_ListenCpltCallback);

Register Error callback

HAL_SMBUS_RegisterCallback(&smbus_handle,
                         HAL_SMBUS_ERROR_CB_ID,
                         USER_SMBUS_ErrorCallback);
HAL_SMBUS_RegisterErrorCallback(&smbus_handle,
                              USER_SMBUS_ErrorCallback);

Register Abort callback

HAL_SMBUS_RegisterCallback(&smbus_handle,
                         HAL_SMBUS_ABORT_CB_ID,
                         USER_SMBUS_AbortCpltCallback);
HAL_SMBUS_RegisterAbortCpltCallback(&smbus_handle,
                                  USER_SMBUS_AbortCpltCallback);

Register Address callback

HAL_SMBUS_RegisterAddrCallback(&smbus_handle,
                             USER_SMBUS_AddrCallback);
HAL_SMBUS_SLAVE_RegisterAddrMatchCallback(&smbus_handle,
                                        USER_SMBUS_SLAVE_AddrCallback);

UnRegister Master Tx Complete Callback

HAL_SMBUS_UnRegisterCallback(&smbus_handle,
                           HAL_SMBUS_MASTER_TX_COMPLETE_CB_ID);
HAL_SMBUS_MASTER_RegisterTxCpltCallback(&smbus_handle,
                                      HAL_SMBUS_MASTER_TxCpltCallback);

UnRegister Address callback

HAL_SMBUS_UnRegisterAddrCallback(&smbus_handle,
                               HAL_SMBUS_MASTER_TX_COMPLETE_CB_ID);
HAL_SMBUS_SLAVE_RegisterAddrMatchCallback(&smbus_handle,
                                        HAL_SMBUS_SLAVE_AddrCallback);

Related concept: Individual callback registration APIs replace global register and unregister functions


HAL SMBUS IRQ handler functions

Note

The functions HAL_SMBUS_EV_IRQHandler() and HAL_SMBUS_ER_IRQHandler() remain unchanged.

HAL1

HAL2

HAL_SMBUS_EV_IRQHandler(SMBUS_HandleTypeDef *hsmbus);

HAL_SMBUS_EV_IRQHandler(hal_smbus_handle_t *hsmbus);

HAL_SMBUS_ER_IRQHandler(SMBUS_HandleTypeDef *hsmbus);

HAL_SMBUS_ER_IRQHandler(hal_smbus_handle_t *hsmbus);